// pages/addPhoto/addPhoto.js
import {uploadFile} from '../../utils/upload'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    ablumId:'',
    files:[],
    filesUrl:[],
    ablumName:'',
    loading:false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      ablumId:options.id,
      ablumName:options.ablum
    })
    this.setData({
      selectFile: this.selectFile.bind(this),
      uplaodFile: this.uplaodFile.bind(this)
  })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  chooseImage: function (e) {
    var that = this;
    wx.chooseImage({
        sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
        sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
        success: function (res) {
            // 返回选定照片的本地文件路径列表，tempFilePath可以作为img标签的src属性显示图片
            that.setData({
                files: that.data.files.concat(res.tempFilePaths)
            });
        }
    })
  },
  previewImage: function(e){
      wx.previewImage({
          current: e.currentTarget.id, // 当前显示图片的http链接
          urls: this.data.files // 需要预览的图片http链接列表
      })
  },
  selectFile(files) {
     
  },
  uplaodFile(files) {
      // 文件上传的函数，返回一个promise
      return new Promise((resolve, reject) => {
        const tempFilePaths = files.tempFilePaths;
        console.log(files)
        this.setData(
          {
            filesUrl: this.data.filesUrl.concat(tempFilePaths)
          }
        )
        console.log(this.data.filesUrl)
        var object = {};
        object['urls'] = tempFilePaths;
        resolve(object);
      })
  },
  uploadError(e) {
      console.log('upload error', e.detail)
  },
  uploadSuccess(e) {
      console.log('upload success', e.detail)
  },
  async commit(){
    this.data.loading = true
    let i = 0
    for(i = 0 ; i< this.data.filesUrl.length ; i++){
      await this.uploadImg(this.data.filesUrl[i])
    }
    this.data.loading = false
  },
  uploadImg(path){
    uploadFile({
      filePath:path,
      formData:{"albumId":this.data.ablumId, "path":"ablum-ablum" + this.data.ablumId},
    }).then(res => {
      if(JSON.parse(res).code === 0){
        console.log(res);
      }else{
        wx.showToast({
          title: res.msg,
          icon: "none",
          duration: 1000,
          mask: true
        })
      }
    })
  }
})